package cn.iocoder.yudao.module.dt.dal.dataobject.activity;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 活动 DO
 *
 * @author 芋道源码
 */
@TableName("dt_activity")
@KeySequence("dt_activity_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Integer id;
    /**
     * 活动标题
     */
    private String title;
    /**
     * 活动类型，读取字典配置，新手局、比赛等
     */
    private String type;
    /**
     * 活动内容说明
     */
    private String content;
    /**
     * 活动报名开始时间
     */
    private Date signStartTime;
    /**
     * 活动报名结束时间
     */
    private Date signEndTime;
    /**
     * 活动封面图片地址
     */
    private String coverPic;
    /**
     * 活动开始时间
     */
    private Date startTime;
    /**
     * 活动结束时间
     */
    private Date endTime;
    /**
     * 活动总人数限制
     */
    private Integer totalNumber;
    /**
     * 活动开始人员数量
     */
    private Integer startNumber;
    /**
     * 每人提交人次限制
     */
    private Integer submitNumber;
    /**
     * 活动排队人数限制
     */
    private Integer lineNumber;
    /**
     * 收款商户号
     */
    private String posNo;
    /**
     * 活动形式：线上、线下
     */
    private String actForm;
    /**
     * 活动地址，定位
     */
    private String actAddress;
    /**
     * 活动可见权限，1.管理员可见；2.任何人可见；3.已提交人可见
     */
    private String actViewAuthority;
    /**
     * 活动分享权限，1.不限制. 2.参与人能转发;3.仅限发起人、管理员分享按钮。3.发起人、管理员分享小程序卡片
     */
    private String actShareAuthority;
    /**
     * 取消管理：1. 提交后不允许自行取消；2.提交后可以取消；3. 提交后在规定时间点前可以取消
     */
    private String cancelManage;
    /**
     * 取消截至时间点
     */
    private Date cancelTime;
    /**
     * 报名后是否可修改: 1. 可以自行修改.2. 不可以修改
     */
    private String editManage;
    /**
     * 活动允许快速填写, 允许提交者初始之前填写过的信息
     */
    private String quickFill;
    /**
     * 提交后显示内容：1.什么都不显示；2.人数、头像和昵称;3.人数和头像;4.人数
     */
    private String submitListShow;
    /**
     * 提交前显示, 后续建表存内容模板
     */
    private String submitBeforeShow;
    /**
     * 提交后显示, 后续建表存内容模板
     */
    private String submitAfterShow;
    /**
     * 活动发起人显示内容，后续建表存内容模板，此字段存模板id
     */
    private String sponsorShow;
    /**
     * 活动费用
     */
    private BigDecimal actFee;
    /**
     * 会员优惠价格
     */
    private BigDecimal actMemberFee;
    /**
     * 球员优惠价格
     */
    private BigDecimal actTeamFee;
    /**
     * 收费类型，1.统一收费，2. 多项目收费. 
     */
    private String feeType;
    /**
     * 是否aa收费，1. 固定金额收费，2. aa收费，先固定金额收，后续人多退款
     */
    private String feeIsAa;
    /**
     * 提交人限制：1.所有人. 2. 仅限会员. 3.仅限球员. 4. 黑名单限制
     */
    private String submitAuthority;
    /**
     * 已提交人数
     */
    private Integer signCount;
    /**
     * 活动发起人id
     */
    private Long sponsorId;

}
